{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# OpenVINO example with Squeezenet Model\n",
    "\n",
    "This notebook illustrates how you can serve [OpenVINO](https://software.intel.com/en-us/openvino-toolkit) optimized models for Imagenet with Seldon Core.\n",
    "\n",
    "<img src=\"car.png\"/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Download Squeezenet Model\n",
    "\n",
    "We will download a pre-trained and optimized model for OpenVINO CPU into a local folder."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2018-10-19 15:01:05--  https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.xml\n",
      "Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 52.218.96.82\n",
      "Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|52.218.96.82|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 37345 (36K) [text/xml]\n",
      "Saving to: ‘models/squeezenet/1/squeezenet1.1.xml’\n",
      "\n",
      "models/squeezenet/1 100%[===================>]  36.47K  --.-KB/s    in 0.05s   \n",
      "\n",
      "2018-10-19 15:01:05 (776 KB/s) - ‘models/squeezenet/1/squeezenet1.1.xml’ saved [37345/37345]\n",
      "\n",
      "--2018-10-19 15:01:05--  https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.mapping\n",
      "Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 52.218.96.82\n",
      "Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|52.218.96.82|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 9318 (9.1K) [binary/octet-stream]\n",
      "Saving to: ‘models/squeezenet/1/squeezenet1.1.mapping’\n",
      "\n",
      "models/squeezenet/1 100%[===================>]   9.10K  --.-KB/s    in 0.001s  \n",
      "\n",
      "2018-10-19 15:01:05 (10.1 MB/s) - ‘models/squeezenet/1/squeezenet1.1.mapping’ saved [9318/9318]\n",
      "\n",
      "--2018-10-19 15:01:05--  https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.bin\n",
      "Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 52.218.96.82\n",
      "Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|52.218.96.82|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 4941984 (4.7M) [application/octet-stream]\n",
      "Saving to: ‘models/squeezenet/1/squeezenet1.1.bin’\n",
      "\n",
      "models/squeezenet/1 100%[===================>]   4.71M  2.86MB/s    in 1.6s    \n",
      "\n",
      "2018-10-19 15:01:07 (2.86 MB/s) - ‘models/squeezenet/1/squeezenet1.1.bin’ saved [4941984/4941984]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!mkdir -p models/squeezenet/1 && \\\n",
    "    wget -O models/squeezenet/1/squeezenet1.1.xml https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.xml && \\\n",
    "    wget -O models/squeezenet/1/squeezenet1.1.mapping https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.mapping && \\\n",
    "    wget -O models/squeezenet/1/squeezenet1.1.bin https://s3-eu-west-1.amazonaws.com/seldon-public/openvino-squeeznet-model/squeezenet1.1.bin "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Run Seldon Core on Minikube\n",
    "\n",
    "**The example below assumes Minikube 0.30.0 installed**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Starting local Kubernetes v1.10.0 cluster...\n",
      "Starting VM...\n",
      "Getting VM IP address...\n",
      "Moving files into cluster...\n",
      "Setting up certs...\n",
      "Connecting to cluster...\n",
      "Setting up kubeconfig...\n",
      "Starting cluster components...\n",
      "Kubectl is now configured to use the cluster.\n",
      "Loading cached images from config file.\n"
     ]
    }
   ],
   "source": [
    "!minikube start --memory 4096 --disk-size 20g --extra-config=apiserver.authorization-mode=RBAC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "namespace/seldon created\r\n"
     ]
    }
   ],
   "source": [
    "!kubectl create namespace seldon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Context \"minikube\" modified.\r\n"
     ]
    }
   ],
   "source": [
    "!kubectl config set-context $(kubectl config current-context) --namespace=seldon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "clusterrolebinding.rbac.authorization.k8s.io/kube-system-cluster-admin created\r\n"
     ]
    }
   ],
   "source": [
    "!kubectl create clusterrolebinding kube-system-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "$HELM_HOME has been configured at /home/clive/.helm.\n",
      "\n",
      "Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.\n",
      "\n",
      "Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.\n",
      "To prevent this, run `helm init` with the --tiller-tls-verify flag.\n",
      "For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation\n",
      "Happy Helming!\n"
     ]
    }
   ],
   "source": [
    "!helm init"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Waiting for deployment \"tiller-deploy\" rollout to finish: 0 of 1 updated replicas are available...\n",
      "deployment \"tiller-deploy\" successfully rolled out\n"
     ]
    }
   ],
   "source": [
    "!kubectl rollout status deploy/tiller-deploy -n kube-system"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NAME:   seldon-core-crd\n",
      "LAST DEPLOYED: Fri Oct 19 15:24:05 2018\n",
      "NAMESPACE: seldon\n",
      "STATUS: DEPLOYED\n",
      "\n",
      "RESOURCES:\n",
      "==> v1beta1/Deployment\n",
      "NAME                        DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE\n",
      "seldon-spartakus-volunteer  1        0        0           0          0s\n",
      "\n",
      "==> v1/ServiceAccount\n",
      "NAME                        SECRETS  AGE\n",
      "seldon-spartakus-volunteer  1        0s\n",
      "\n",
      "==> v1beta1/ClusterRole\n",
      "NAME                        AGE\n",
      "seldon-spartakus-volunteer  0s\n",
      "\n",
      "==> v1beta1/ClusterRoleBinding\n",
      "NAME                        AGE\n",
      "seldon-spartakus-volunteer  0s\n",
      "\n",
      "==> v1/ConfigMap\n",
      "NAME                     DATA  AGE\n",
      "seldon-spartakus-config  3     0s\n",
      "\n",
      "==> v1beta1/CustomResourceDefinition\n",
      "NAME                                         AGE\n",
      "seldondeployments.machinelearning.seldon.io  0s\n",
      "\n",
      "\n",
      "NOTES:\n",
      "NOTES: TODO\n",
      "\n",
      "\n",
      "NAME:   seldon-core\n",
      "LAST DEPLOYED: Fri Oct 19 15:24:06 2018\n",
      "NAMESPACE: seldon\n",
      "STATUS: DEPLOYED\n",
      "\n",
      "RESOURCES:\n",
      "==> v1/Service\n",
      "NAME                          TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)                        AGE\n",
      "seldon-core-ambassador-admin  NodePort   10.97.150.82   <none>       8877:32648/TCP                 0s\n",
      "seldon-core-ambassador        NodePort   10.105.59.214  <none>       8080:30727/TCP                 0s\n",
      "seldon-core-seldon-apiserver  NodePort   10.105.224.42  <none>       8080:31353/TCP,5000:31506/TCP  0s\n",
      "seldon-core-redis             ClusterIP  10.98.95.49    <none>       6379/TCP                       0s\n",
      "\n",
      "==> v1beta1/RoleBinding\n",
      "NAME        AGE\n",
      "ambassador  0s\n",
      "\n",
      "==> v1beta1/Deployment\n",
      "NAME                                DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE\n",
      "seldon-core-ambassador              1        1        1           0          0s\n",
      "seldon-core-seldon-apiserver        1        1        1           0          0s\n",
      "seldon-core-seldon-cluster-manager  1        1        1           0          0s\n",
      "seldon-core-redis                   1        1        1           0          0s\n",
      "\n",
      "==> v1/Pod(related)\n",
      "NAME                                                 READY  STATUS             RESTARTS  AGE\n",
      "seldon-core-ambassador-778c58bf5d-zzv7h              0/2    ContainerCreating  0         0s\n",
      "seldon-core-seldon-apiserver-6b8dbc978b-pn685        0/1    ContainerCreating  0         0s\n",
      "seldon-core-seldon-cluster-manager-596d4674fd-c78x2  0/1    ContainerCreating  0         0s\n",
      "seldon-core-redis-8668565565-h598g                   0/1    ContainerCreating  0         0s\n",
      "\n",
      "==> v1/ServiceAccount\n",
      "NAME    SECRETS  AGE\n",
      "seldon  1        0s\n",
      "\n",
      "==> v1beta1/ClusterRole\n",
      "NAME        AGE\n",
      "seldon-crd  0s\n",
      "\n",
      "==> v1/ClusterRoleBinding\n",
      "NAME    AGE\n",
      "seldon  0s\n",
      "\n",
      "==> v1beta1/Role\n",
      "NAME          AGE\n",
      "seldon-local  0s\n",
      "ambassador    0s\n",
      "\n",
      "==> v1/RoleBinding\n",
      "NAME    AGE\n",
      "seldon  0s\n",
      "\n",
      "\n",
      "NOTES:\n",
      "Thank you for installing Seldon Core.\n",
      "\n",
      "Documentation can be found at https://github.com/SeldonIO/seldon-core\n",
      "\n",
      "\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!helm install ../../../helm-charts/seldon-core-crd --name seldon-core-crd  --set usage_metrics.enabled=true\n",
    "!helm install ../../../helm-charts/seldon-core --name seldon-core --set ambassador.enabled=true"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## CreateOpenVINO Inference Server image\n",
    "\n",
    "We download the OpenVINO model server and create a Docker image with OpenVINO."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cloning into 'OpenVINO-model-server'...\n",
      "remote: Enumerating objects: 410, done.\u001b[K\n",
      "remote: Counting objects: 100% (410/410), done.\u001b[K\n",
      "remote: Compressing objects: 100% (182/182), done.\u001b[K\n",
      "remote: Total 410 (delta 218), reused 409 (delta 218), pack-reused 0\u001b[K\n",
      "Receiving objects: 100% (410/410), 371.76 KiB | 0 bytes/s, done.\n",
      "Resolving deltas: 100% (218/218), done.\n",
      "Checking connectivity... done.\n"
     ]
    }
   ],
   "source": [
    "!rm -rf OpenVINO-model-server && git clone https://github.com/IntelAI/OpenVINO-model-server.git"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Download OpenVINO\n",
    "\n",
    "[Download OpenVINO](https://software.intel.com/en-us/openvino-toolkit/choose-download) and place it in the OpenVINO-model-server folder, e.g. a file of the form: ```l_openvino_toolkit_fpga_p_2018.2.300_online.tgz```."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Building docker image\n",
      "docker build -f Dockerfile --build-arg http_proxy= --build-arg https_proxy= -t ie-serving-py:latest .\n",
      "Sending build context to Docker daemon  16.17MB\n",
      "Step 1/16 : FROM ubuntu:16.04\n",
      "16.04: Pulling from library/ubuntu\n",
      "\n",
      "\u001b[1B80d61657: Pulling fs layer \n",
      "\u001b[1Bb6fece63: Pulling fs layer \n",
      "\u001b[1B8219b215: Pulling fs layer \n",
      "\u001b[1BDigest: sha256:76702ec53c5e7771ba3f2c4f6152c3796c142af2b3cb1a02fce66c697db24f12\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[1A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[4A\u001b[1K\u001b[K\u001b[3A\u001b[1K\u001b[K\u001b[2A\u001b[1K\u001b[K\n",
      "Status: Downloaded newer image for ubuntu:16.04\n",
      " ---> 4a689991aa24\n",
      "Step 2/16 : ARG INSTALL_DIR=/opt/intel/computer_vision_sdk\n",
      " ---> Running in 664daad18532\n",
      "Removing intermediate container 664daad18532\n",
      " ---> 80ee85d63eb3\n",
      "Step 3/16 : ARG TEMP_DIR=/tmp/openvino_installer\n",
      " ---> Running in fa961fc9282f\n",
      "Removing intermediate container fa961fc9282f\n",
      " ---> 5aa0c656db32\n",
      "Step 4/16 : ARG DL_INSTALL_DIR=/opt/intel/computer_vision_sdk/deployment_tools\n",
      " ---> Running in 6704c94886e9\n",
      "Removing intermediate container 6704c94886e9\n",
      " ---> 3a40ac7e50a5\n",
      "Step 5/16 : ARG DL_DIR=/tmp\n",
      " ---> Running in f04235c7efdd\n",
      "Removing intermediate container f04235c7efdd\n",
      " ---> 9156ddf0ea3a\n",
      "Step 6/16 : ENV TEMP_DIR $TEMP_DIR\n",
      " ---> Running in 424bee9ce2c1\n",
      "Removing intermediate container 424bee9ce2c1\n",
      " ---> ec2ed67924f6\n",
      "Step 7/16 : RUN apt-get update && apt-get install -y --no-install-recommends cpio     python3-pip python3-venv python3-dev python3-setuptools virtualenv\n",
      " ---> Running in 7fdf07190d91\n",
      "Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]\n",
      "Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]\n",
      "Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]\n",
      "Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]\n",
      "Get:5 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [727 kB]\n",
      "Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]\n",
      "Get:7 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]\n",
      "Get:8 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [497 kB]\n",
      "Get:9 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3747 B]\n",
      "Get:10 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]\n",
      "Get:11 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]\n",
      "Get:12 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]\n",
      "Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1115 kB]\n",
      "Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]\n",
      "Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [894 kB]\n",
      "Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [18.8 kB]\n",
      "Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7965 B]\n",
      "Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8532 B]\n",
      "Fetched 15.4 MB in 2s (6755 kB/s)\n",
      "Reading package lists...\n",
      "Reading package lists...\n",
      "Building dependency tree...\n",
      "Reading state information...\n",
      "The following additional packages will be installed:\n",
      "  ca-certificates dh-python libc-dev-bin libc6-dev libexpat1 libexpat1-dev\n",
      "  libmpdec2 libpython3-dev libpython3-stdlib libpython3.5 libpython3.5-dev\n",
      "  libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0\n",
      "  linux-libc-dev mime-support openssl python-pip-whl python3 python3-minimal\n",
      "  python3-pkg-resources python3-virtualenv python3.5 python3.5-dev\n",
      "  python3.5-minimal python3.5-venv\n",
      "Suggested packages:\n",
      "  libarchive1 libdpkg-perl glibc-doc manpages-dev python3-doc python3-tk\n",
      "  python-setuptools-doc python3.5-doc binutils binfmt-support\n",
      "Recommended packages:\n",
      "  manpages manpages-dev file build-essential python3-wheel\n",
      "The following NEW packages will be installed:\n",
      "  ca-certificates cpio dh-python libc-dev-bin libc6-dev libexpat1\n",
      "  libexpat1-dev libmpdec2 libpython3-dev libpython3-stdlib libpython3.5\n",
      "  libpython3.5-dev libpython3.5-minimal libpython3.5-stdlib libsqlite3-0\n",
      "  libssl1.0.0 linux-libc-dev mime-support openssl python-pip-whl python3\n",
      "  python3-dev python3-minimal python3-pip python3-pkg-resources\n",
      "  python3-setuptools python3-venv python3-virtualenv python3.5 python3.5-dev\n",
      "  python3.5-minimal python3.5-venv virtualenv\n",
      "0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded.\n",
      "Need to get 50.6 MB of archives.\n",
      "After this operation, 112 MB of additional disk space will be used.\n",
      "Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libssl1.0.0 amd64 1.0.2g-1ubuntu4.13 [1083 kB]\n",
      "Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.4 [523 kB]\n",
      "Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libexpat1 amd64 2.1.0-7ubuntu0.16.04.3 [71.2 kB]\n",
      "Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-minimal amd64 3.5.2-2ubuntu0~16.04.4 [1597 kB]\n",
      "Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3-minimal amd64 3.5.1-3 [23.3 kB]\n",
      "Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 mime-support all 3.59ubuntu1 [31.0 kB]\n",
      "Get:7 http://archive.ubuntu.com/ubuntu xenial/main amd64 libmpdec2 amd64 2.4.2-1 [82.6 kB]\n",
      "Get:8 http://archive.ubuntu.com/ubuntu xenial/main amd64 libsqlite3-0 amd64 3.11.0-1ubuntu1 [396 kB]\n",
      "Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.4 [2132 kB]\n",
      "Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5 amd64 3.5.2-2ubuntu0~16.04.4 [165 kB]\n",
      "Get:11 http://archive.ubuntu.com/ubuntu xenial/main amd64 libpython3-stdlib amd64 3.5.1-3 [6818 B]\n",
      "Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 dh-python all 2.20151103ubuntu1.1 [74.1 kB]\n",
      "Get:13 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3 amd64 3.5.1-3 [8710 B]\n",
      "Get:14 http://archive.ubuntu.com/ubuntu xenial/main amd64 cpio amd64 2.11+dfsg-5ubuntu1 [74.8 kB]\n",
      "Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssl amd64 1.0.2g-1ubuntu4.13 [492 kB]\n",
      "Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 ca-certificates all 20170717~16.04.1 [168 kB]\n",
      "Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc-dev-bin amd64 2.23-0ubuntu10 [68.7 kB]\n",
      "Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-137.163 [850 kB]\n",
      "Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6-dev amd64 2.23-0ubuntu10 [2079 kB]\n",
      "Get:20 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libexpat1-dev amd64 2.1.0-7ubuntu0.16.04.3 [115 kB]\n",
      "Get:21 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5 amd64 3.5.2-2ubuntu0~16.04.4 [1360 kB]\n",
      "Get:22 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-dev amd64 3.5.2-2ubuntu0~16.04.4 [37.3 MB]\n",
      "Get:23 http://archive.ubuntu.com/ubuntu xenial/main amd64 libpython3-dev amd64 3.5.1-3 [6926 B]\n",
      "Get:24 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip-whl all 8.1.1-2ubuntu0.4 [1110 kB]\n",
      "Get:25 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-dev amd64 3.5.2-2ubuntu0~16.04.4 [413 kB]\n",
      "Get:26 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3-dev amd64 3.5.1-3 [1186 B]\n",
      "Get:27 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python3-pip all 8.1.1-2ubuntu0.4 [109 kB]\n",
      "Get:28 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3-pkg-resources all 20.7.0-1 [79.0 kB]\n",
      "Get:29 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3-setuptools all 20.7.0-1 [88.0 kB]\n",
      "Get:30 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python3.5-venv amd64 3.5.2-2ubuntu0~16.04.4 [5998 B]\n",
      "Get:31 http://archive.ubuntu.com/ubuntu xenial/universe amd64 python3-venv amd64 3.5.1-3 [1106 B]\n",
      "Get:32 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python3-virtualenv all 15.0.1+ds-3ubuntu1 [43.2 kB]\n",
      "Get:33 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 virtualenv all 15.0.1+ds-3ubuntu1 [4342 B]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[91mdebconf: delaying package configuration, since apt-utils is not installed\n",
      "\u001b[0mFetched 50.6 MB in 5s (9140 kB/s)\n",
      "Selecting previously unselected package libssl1.0.0:amd64.\n",
      "(Reading database ... 4768 files and directories currently installed.)\n",
      "Preparing to unpack .../libssl1.0.0_1.0.2g-1ubuntu4.13_amd64.deb ...\n",
      "Unpacking libssl1.0.0:amd64 (1.0.2g-1ubuntu4.13) ...\n",
      "Selecting previously unselected package libpython3.5-minimal:amd64.\n",
      "Preparing to unpack .../libpython3.5-minimal_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package libexpat1:amd64.\n",
      "Preparing to unpack .../libexpat1_2.1.0-7ubuntu0.16.04.3_amd64.deb ...\n",
      "Unpacking libexpat1:amd64 (2.1.0-7ubuntu0.16.04.3) ...\n",
      "Selecting previously unselected package python3.5-minimal.\n",
      "Preparing to unpack .../python3.5-minimal_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking python3.5-minimal (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package python3-minimal.\n",
      "Preparing to unpack .../python3-minimal_3.5.1-3_amd64.deb ...\n",
      "Unpacking python3-minimal (3.5.1-3) ...\n",
      "Selecting previously unselected package mime-support.\n",
      "Preparing to unpack .../mime-support_3.59ubuntu1_all.deb ...\n",
      "Unpacking mime-support (3.59ubuntu1) ...\n",
      "Selecting previously unselected package libmpdec2:amd64.\n",
      "Preparing to unpack .../libmpdec2_2.4.2-1_amd64.deb ...\n",
      "Unpacking libmpdec2:amd64 (2.4.2-1) ...\n",
      "Selecting previously unselected package libsqlite3-0:amd64.\n",
      "Preparing to unpack .../libsqlite3-0_3.11.0-1ubuntu1_amd64.deb ...\n",
      "Unpacking libsqlite3-0:amd64 (3.11.0-1ubuntu1) ...\n",
      "Selecting previously unselected package libpython3.5-stdlib:amd64.\n",
      "Preparing to unpack .../libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package python3.5.\n",
      "Preparing to unpack .../python3.5_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking python3.5 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package libpython3-stdlib:amd64.\n",
      "Preparing to unpack .../libpython3-stdlib_3.5.1-3_amd64.deb ...\n",
      "Unpacking libpython3-stdlib:amd64 (3.5.1-3) ...\n",
      "Selecting previously unselected package dh-python.\n",
      "Preparing to unpack .../dh-python_2.20151103ubuntu1.1_all.deb ...\n",
      "Unpacking dh-python (2.20151103ubuntu1.1) ...\n",
      "Processing triggers for libc-bin (2.23-0ubuntu10) ...\n",
      "Setting up libssl1.0.0:amd64 (1.0.2g-1ubuntu4.13) ...\n",
      "debconf: unable to initialize frontend: Dialog\n",
      "debconf: (TERM is not set, so the dialog frontend is not usable.)\n",
      "debconf: falling back to frontend: Readline\n",
      "debconf: unable to initialize frontend: Readline\n",
      "debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)\n",
      "debconf: falling back to frontend: Teletype\n",
      "Setting up libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up libexpat1:amd64 (2.1.0-7ubuntu0.16.04.3) ...\n",
      "Setting up python3.5-minimal (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up python3-minimal (3.5.1-3) ...\n",
      "Processing triggers for libc-bin (2.23-0ubuntu10) ...\n",
      "Selecting previously unselected package python3.\n",
      "(Reading database ... 5744 files and directories currently installed.)\n",
      "Preparing to unpack .../python3_3.5.1-3_amd64.deb ...\n",
      "Unpacking python3 (3.5.1-3) ...\n",
      "Selecting previously unselected package cpio.\n",
      "Preparing to unpack .../cpio_2.11+dfsg-5ubuntu1_amd64.deb ...\n",
      "Unpacking cpio (2.11+dfsg-5ubuntu1) ...\n",
      "Selecting previously unselected package openssl.\n",
      "Preparing to unpack .../openssl_1.0.2g-1ubuntu4.13_amd64.deb ...\n",
      "Unpacking openssl (1.0.2g-1ubuntu4.13) ...\n",
      "Selecting previously unselected package ca-certificates.\n",
      "Preparing to unpack .../ca-certificates_20170717~16.04.1_all.deb ...\n",
      "Unpacking ca-certificates (20170717~16.04.1) ...\n",
      "Selecting previously unselected package libc-dev-bin.\n",
      "Preparing to unpack .../libc-dev-bin_2.23-0ubuntu10_amd64.deb ...\n",
      "Unpacking libc-dev-bin (2.23-0ubuntu10) ...\n",
      "Selecting previously unselected package linux-libc-dev:amd64.\n",
      "Preparing to unpack .../linux-libc-dev_4.4.0-137.163_amd64.deb ...\n",
      "Unpacking linux-libc-dev:amd64 (4.4.0-137.163) ...\n",
      "Selecting previously unselected package libc6-dev:amd64.\n",
      "Preparing to unpack .../libc6-dev_2.23-0ubuntu10_amd64.deb ...\n",
      "Unpacking libc6-dev:amd64 (2.23-0ubuntu10) ...\n",
      "Selecting previously unselected package libexpat1-dev:amd64.\n",
      "Preparing to unpack .../libexpat1-dev_2.1.0-7ubuntu0.16.04.3_amd64.deb ...\n",
      "Unpacking libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.3) ...\n",
      "Selecting previously unselected package libpython3.5:amd64.\n",
      "Preparing to unpack .../libpython3.5_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package libpython3.5-dev:amd64.\n",
      "Preparing to unpack .../libpython3.5-dev_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package libpython3-dev:amd64.\n",
      "Preparing to unpack .../libpython3-dev_3.5.1-3_amd64.deb ...\n",
      "Unpacking libpython3-dev:amd64 (3.5.1-3) ...\n",
      "Selecting previously unselected package python-pip-whl.\n",
      "Preparing to unpack .../python-pip-whl_8.1.1-2ubuntu0.4_all.deb ...\n",
      "Unpacking python-pip-whl (8.1.1-2ubuntu0.4) ...\n",
      "Selecting previously unselected package python3.5-dev.\n",
      "Preparing to unpack .../python3.5-dev_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking python3.5-dev (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package python3-dev.\n",
      "Preparing to unpack .../python3-dev_3.5.1-3_amd64.deb ...\n",
      "Unpacking python3-dev (3.5.1-3) ...\n",
      "Selecting previously unselected package python3-pip.\n",
      "Preparing to unpack .../python3-pip_8.1.1-2ubuntu0.4_all.deb ...\n",
      "Unpacking python3-pip (8.1.1-2ubuntu0.4) ...\n",
      "Selecting previously unselected package python3-pkg-resources.\n",
      "Preparing to unpack .../python3-pkg-resources_20.7.0-1_all.deb ...\n",
      "Unpacking python3-pkg-resources (20.7.0-1) ...\n",
      "Selecting previously unselected package python3-setuptools.\n",
      "Preparing to unpack .../python3-setuptools_20.7.0-1_all.deb ...\n",
      "Unpacking python3-setuptools (20.7.0-1) ...\n",
      "Selecting previously unselected package python3.5-venv.\n",
      "Preparing to unpack .../python3.5-venv_3.5.2-2ubuntu0~16.04.4_amd64.deb ...\n",
      "Unpacking python3.5-venv (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Selecting previously unselected package python3-venv.\n",
      "Preparing to unpack .../python3-venv_3.5.1-3_amd64.deb ...\n",
      "Unpacking python3-venv (3.5.1-3) ...\n",
      "Selecting previously unselected package python3-virtualenv.\n",
      "Preparing to unpack .../python3-virtualenv_15.0.1+ds-3ubuntu1_all.deb ...\n",
      "Unpacking python3-virtualenv (15.0.1+ds-3ubuntu1) ...\n",
      "Selecting previously unselected package virtualenv.\n",
      "Preparing to unpack .../virtualenv_15.0.1+ds-3ubuntu1_all.deb ...\n",
      "Unpacking virtualenv (15.0.1+ds-3ubuntu1) ...\n",
      "Processing triggers for libc-bin (2.23-0ubuntu10) ...\n",
      "Setting up mime-support (3.59ubuntu1) ...\n",
      "Setting up libmpdec2:amd64 (2.4.2-1) ...\n",
      "Setting up libsqlite3-0:amd64 (3.11.0-1ubuntu1) ...\n",
      "Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up python3.5 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up libpython3-stdlib:amd64 (3.5.1-3) ...\n",
      "Setting up cpio (2.11+dfsg-5ubuntu1) ...\n",
      "update-alternatives: using /bin/mt-gnu to provide /bin/mt (mt) in auto mode\n",
      "Setting up openssl (1.0.2g-1ubuntu4.13) ...\n",
      "Setting up ca-certificates (20170717~16.04.1) ...\n",
      "debconf: unable to initialize frontend: Dialog\n",
      "debconf: (TERM is not set, so the dialog frontend is not usable.)\n",
      "debconf: falling back to frontend: Readline\n",
      "debconf: unable to initialize frontend: Readline\n",
      "debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)\n",
      "debconf: falling back to frontend: Teletype\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Setting up libc-dev-bin (2.23-0ubuntu10) ...\n",
      "Setting up linux-libc-dev:amd64 (4.4.0-137.163) ...\n",
      "Setting up libc6-dev:amd64 (2.23-0ubuntu10) ...\n",
      "Setting up libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.3) ...\n",
      "Setting up libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up libpython3-dev:amd64 (3.5.1-3) ...\n",
      "Setting up python-pip-whl (8.1.1-2ubuntu0.4) ...\n",
      "Setting up python3.5-dev (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up python3.5-venv (3.5.2-2ubuntu0~16.04.4) ...\n",
      "Setting up python3 (3.5.1-3) ...\n",
      "running python rtupdate hooks for python3.5...\n",
      "running python post-rtupdate hooks for python3.5...\n",
      "Setting up python3-dev (3.5.1-3) ...\n",
      "Setting up python3-pip (8.1.1-2ubuntu0.4) ...\n",
      "Setting up python3-pkg-resources (20.7.0-1) ...\n",
      "Setting up python3-setuptools (20.7.0-1) ...\n",
      "Setting up python3-venv (3.5.1-3) ...\n",
      "Setting up python3-virtualenv (15.0.1+ds-3ubuntu1) ...\n",
      "Setting up virtualenv (15.0.1+ds-3ubuntu1) ...\n",
      "Setting up dh-python (2.20151103ubuntu1.1) ...\n",
      "Processing triggers for libc-bin (2.23-0ubuntu10) ...\n",
      "Processing triggers for ca-certificates (20170717~16.04.1) ...\n",
      "Updating certificates in /etc/ssl/certs...\n",
      "148 added, 0 removed; done.\n",
      "Running hooks in /etc/ca-certificates/update.d...\n",
      "done.\n",
      "Removing intermediate container 7fdf07190d91\n",
      " ---> bdc22ab183bb\n",
      "Step 8/16 : COPY l_openvino_toolkit*.tgz $TEMP_DIR/\n",
      " ---> f93ba0dd67de\n",
      "Step 9/16 : RUN cd $TEMP_DIR && pwd && ls &&     tar xf l_openvino_toolkit*.tgz &&     cd l_openvino_toolkit* &&     sed -i 's/decline/accept/g' silent.cfg &&     pwd | grep -q openvino_toolkit_p ;     if [ $? = 0 ];then sed -i 's/COMPONENTS=DEFAULTS/COMPONENTS=;intel-ism__noarch;intel-cv-sdk-base-shared__noarch;intel-cv-sdk-base-l-setupvars__noarch;intel-cv-sdk-base-l-inference-engine__noarch;intel-cv-sdk-base-gfx-install__noarch;intel-cv-sdk-base-shared-pset/g' silent.cfg; fi &&     pwd | grep -q openvino_toolkit_fpga ;     if [ $? = 0 ];then sed -i 's/COMPONENTS=DEFAULTS/COMPONENTS=;intel-ism__noarch;intel-cv-sdk-full-shared__noarch;intel-cv-sdk-full-l-setupvars__noarch;intel-cv-sdk-full-l-inference-engine__noarch;intel-cv-sdk-full-gfx-install__noarch;intel-cv-sdk-full-shared-pset/g' silent.cfg; fi &&     ./install.sh -s silent.cfg &&     rm -Rf $TEMP_DIR $INSTALL_DIR/install_dependencies $INSTALL_DIR/uninstall* /tmp/* $DL_INSTALL_DIR/documentation $DL_INSTALL_DIR/inference_engine/samples\n",
      " ---> Running in f58e54486905\n",
      "/tmp/openvino_installer\n",
      "l_openvino_toolkit_p_2018.3.343_online.tgz\n",
      "Removing intermediate container f58e54486905\n",
      " ---> 942ebafabca6\n",
      "Step 10/16 : ENV PYTHONPATH=\"$INSTALL_DIR/python/python3.5/ubuntu16:$INSTALL_DIR/python/python3.5\"\n",
      " ---> Running in 7edf99b435d5\n",
      "Removing intermediate container 7edf99b435d5\n",
      " ---> 2caf8b11a16a\n",
      "Step 11/16 : ENV LD_LIBRARY_PATH=\"$DL_INSTALL_DIR/inference_engine/external/cldnn/lib:$DL_INSTALL_DIR/inference_engine/external/gna/lib:$DL_INSTALL_DIR/inference_engine/external/mkltiny_lnx/lib:$DL_INSTALL_DIR/inference_engine/lib/ubuntu_16.04/intel64\"\n",
      " ---> Running in 2d26599f8df6\n",
      "Removing intermediate container 2d26599f8df6\n",
      " ---> 1a9a72b87fde\n",
      "Step 12/16 : COPY start_server.sh setup.py requirements.txt version /ie-serving-py/\n",
      " ---> a64ab98eb3a4\n",
      "Step 13/16 : COPY ie_serving /ie-serving-py/ie_serving\n",
      " ---> 5be32d13e90b\n",
      "Step 14/16 : WORKDIR /ie-serving-py\n",
      "Removing intermediate container ac56a32151ba\n",
      " ---> f519214313e3\n",
      "Step 15/16 : RUN virtualenv -p python3 .venv &&     . .venv/bin/activate && pip3 --no-cache-dir install -r requirements.txt\n",
      " ---> Running in 053452619f31\n",
      "Already using interpreter /usr/bin/python3\n",
      "Using base prefix '/usr'\n",
      "New python executable in /ie-serving-py/.venv/bin/python3\n",
      "Also creating executable in /ie-serving-py/.venv/bin/python\n",
      "Installing setuptools, pkg_resources, pip, wheel...done.\n",
      "Collecting grpcio==1.14.1 (from -r requirements.txt (line 1))\n",
      "  Downloading https://files.pythonhosted.org/packages/66/e0/67edd247828d240491204525527e05cde80b5c1115534c4d05859b376c68/grpcio-1.14.1-cp35-cp35m-manylinux1_x86_64.whl (9.3MB)\n",
      "Collecting grpcio-tools==1.14.1 (from -r requirements.txt (line 2))\n",
      "  Downloading https://files.pythonhosted.org/packages/2e/b5/b309d4fd134c5f959cf08d39e73e11be096126b5830940de8f700cf232a2/grpcio_tools-1.14.1-cp35-cp35m-manylinux1_x86_64.whl (22.2MB)\n",
      "Collecting numpy==1.14.5 (from -r requirements.txt (line 3))\n",
      "  Downloading https://files.pythonhosted.org/packages/43/17/cd9fa14492dbef2aaf22622db79dba087c10f125473e730cda2f2019c40b/numpy-1.14.5-cp35-cp35m-manylinux1_x86_64.whl (12.1MB)\n",
      "Collecting protobuf==3.6.1 (from -r requirements.txt (line 4))\n",
      "  Downloading https://files.pythonhosted.org/packages/bf/d4/db7296a1407cad69f043537ba1e05afab3646451a066ead7a314d8714388/protobuf-3.6.1-cp35-cp35m-manylinux1_x86_64.whl (1.1MB)\n",
      "Collecting tensorflow==1.10.0 (from -r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/32/bb/46e6ceeae1a0aa8a0e21ec08b2d8456de19d733807a50ef4302fcb509ed9/tensorflow-1.10.0-cp35-cp35m-manylinux1_x86_64.whl (58.4MB)\n",
      "Collecting six>=1.5.2 (from grpcio==1.14.1->-r requirements.txt (line 1))\n",
      "  Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl\n",
      "Requirement already satisfied: setuptools in ./.venv/lib/python3.5/site-packages (from protobuf==3.6.1->-r requirements.txt (line 4)) (40.4.3)\n",
      "Collecting gast>=0.2.0 (from tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz\n",
      "Collecting termcolor>=1.1.0 (from tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz\n",
      "Collecting tensorboard<1.11.0,>=1.10.0 (from tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/c6/17/ecd918a004f297955c30b4fffbea100b1606c225dbf0443264012773c3ff/tensorboard-1.10.0-py3-none-any.whl (3.3MB)\n",
      "Requirement already satisfied: wheel>=0.26 in ./.venv/lib/python3.5/site-packages (from tensorflow==1.10.0->-r requirements.txt (line 5)) (0.32.1)\n",
      "Collecting astor>=0.6.0 (from tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/35/6b/11530768cac581a12952a2aad00e1526b89d242d0b9f59534ef6e6a1752f/astor-0.7.1-py2.py3-none-any.whl\n",
      "Collecting absl-py>=0.1.6 (from tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/16/db/cce5331638138c178dd1d5fb69f3f55eb3787a12efd9177177ae203e847f/absl-py-0.5.0.tar.gz (90kB)\n",
      "Collecting markdown>=2.6.8 (from tensorboard<1.11.0,>=1.10.0->tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/7a/6b/5600647404ba15545ec37d2f7f58844d690baf2f81f3a60b862e48f29287/Markdown-3.0.1-py2.py3-none-any.whl (89kB)\n",
      "Collecting werkzeug>=0.11.10 (from tensorboard<1.11.0,>=1.10.0->tensorflow==1.10.0->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)\n",
      "\u001b[91mtensorflow 1.10.0 has requirement setuptools<=39.1.0, but you'll have setuptools 40.4.3 which is incompatible.\n",
      "\u001b[0mInstalling collected packages: six, grpcio, protobuf, grpcio-tools, numpy, gast, termcolor, markdown, werkzeug, tensorboard, astor, absl-py, tensorflow\n",
      "  Running setup.py install for gast: started\n",
      "    Running setup.py install for gast: finished with status 'done'\n",
      "  Running setup.py install for termcolor: started\n",
      "    Running setup.py install for termcolor: finished with status 'done'\n",
      "  Running setup.py install for absl-py: started\n",
      "    Running setup.py install for absl-py: finished with status 'done'\n",
      "Successfully installed absl-py-0.5.0 astor-0.7.1 gast-0.2.0 grpcio-1.14.1 grpcio-tools-1.14.1 markdown-3.0.1 numpy-1.14.5 protobuf-3.6.1 six-1.11.0 tensorboard-1.10.0 tensorflow-1.10.0 termcolor-1.1.0 werkzeug-0.14.1\n",
      "Removing intermediate container 053452619f31\n",
      " ---> f3de5d2a5c57\n",
      "Step 16/16 : RUN . .venv/bin/activate && pip3 install .\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " ---> Running in 08b44633dda9\n",
      "Processing /ie-serving-py\n",
      "Requirement already satisfied: grpcio in ./.venv/lib/python3.5/site-packages (from ie-serving==0.1) (1.14.1)\n",
      "Requirement already satisfied: grpcio-tools in ./.venv/lib/python3.5/site-packages (from ie-serving==0.1) (1.14.1)\n",
      "Requirement already satisfied: numpy in ./.venv/lib/python3.5/site-packages (from ie-serving==0.1) (1.14.5)\n",
      "Requirement already satisfied: protobuf in ./.venv/lib/python3.5/site-packages (from ie-serving==0.1) (3.6.1)\n",
      "Requirement already satisfied: tensorflow in ./.venv/lib/python3.5/site-packages (from ie-serving==0.1) (1.10.0)\n",
      "Requirement already satisfied: six>=1.5.2 in ./.venv/lib/python3.5/site-packages (from grpcio->ie-serving==0.1) (1.11.0)\n",
      "Requirement already satisfied: setuptools in ./.venv/lib/python3.5/site-packages (from protobuf->ie-serving==0.1) (40.4.3)\n",
      "Requirement already satisfied: termcolor>=1.1.0 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (1.1.0)\n",
      "Requirement already satisfied: absl-py>=0.1.6 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (0.5.0)\n",
      "Requirement already satisfied: tensorboard<1.11.0,>=1.10.0 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (1.10.0)\n",
      "Requirement already satisfied: wheel>=0.26 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (0.32.1)\n",
      "Requirement already satisfied: astor>=0.6.0 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (0.7.1)\n",
      "Requirement already satisfied: gast>=0.2.0 in ./.venv/lib/python3.5/site-packages (from tensorflow->ie-serving==0.1) (0.2.0)\n",
      "Requirement already satisfied: markdown>=2.6.8 in ./.venv/lib/python3.5/site-packages (from tensorboard<1.11.0,>=1.10.0->tensorflow->ie-serving==0.1) (3.0.1)\n",
      "Requirement already satisfied: werkzeug>=0.11.10 in ./.venv/lib/python3.5/site-packages (from tensorboard<1.11.0,>=1.10.0->tensorflow->ie-serving==0.1) (0.14.1)\n",
      "Building wheels for collected packages: ie-serving\n",
      "  Running setup.py bdist_wheel for ie-serving: started\n",
      "  Running setup.py bdist_wheel for ie-serving: finished with status 'done'\n",
      "  Stored in directory: /root/.cache/pip/wheels/03/a5/8c/d5265b975d2d3c6ab587ea7ca0dab637b07934e7407c9c9356\n",
      "Successfully built ie-serving\n",
      "Installing collected packages: ie-serving\n",
      "Successfully installed ie-serving-0.1\n",
      "Removing intermediate container 08b44633dda9\n",
      " ---> 6e5d9e02e25d\n",
      "Successfully built 6e5d9e02e25d\n",
      "Successfully tagged ie-serving-py:latest\n"
     ]
    }
   ],
   "source": [
    "!eval $(minikube docker-env) && cd OpenVINO-model-server && make docker_build && docker tag ie-serving-py:latest ie-serving-py:0.1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Mount local folder onto minikube for HostPath\n",
    "Run in the current folder:\n",
    "```\n",
    "minikube mount ./models:/opt/ml\n",
    "```\n",
    "\n",
    "This will allow the model folder containing the Squeezenet model to be accessed. For production deployments you would use a NFS volume."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Deploy Seldon Intel OpenVINO Graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NAME:   openvino-squeezenet\n",
      "LAST DEPLOYED: Fri Oct 19 15:29:46 2018\n",
      "NAMESPACE: seldon\n",
      "STATUS: DEPLOYED\n",
      "\n",
      "RESOURCES:\n",
      "==> v1/PersistentVolume\n",
      "NAME          CAPACITY  ACCESS MODES  RECLAIM POLICY  STATUS  CLAIM                   STORAGECLASS  REASON  AGE\n",
      "hostpath-pvc  1Gi       RWO           Retain          Bound   seldon/model-store-pvc  manual        1s\n",
      "\n",
      "==> v1/PersistentVolumeClaim\n",
      "NAME             STATUS  VOLUME        CAPACITY  ACCESS MODES  STORAGECLASS  AGE\n",
      "model-store-pvc  Bound   hostpath-pvc  1Gi       RWO           manual        1s\n",
      "\n",
      "==> v1alpha2/SeldonDeployment\n",
      "NAME            AGE\n",
      "openvino-model  0s\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!helm install ../../../helm-charts/seldon-openvino --name=openvino-squeezenet \\\n",
    "    --set openvino.model.path=/opt/ml/squeezenet \\\n",
    "    --set openvino.model.name=squeezenet1.1 \\\n",
    "    --set openvino.model.input=data \\\n",
    "    --set openvino.model.output=prob "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\r\n",
      "\u001b[04m\u001b[31;01m#\u001b[39;49;00m \u001b[04m\u001b[31;01mS\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mu\u001b[39;49;00m\u001b[04m\u001b[31;01mr\u001b[39;49;00m\u001b[04m\u001b[31;01mc\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01m:\u001b[39;49;00m \u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01md\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mv\u001b[39;49;00m\u001b[04m\u001b[31;01mi\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mm\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01ma\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mh\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01mP\u001b[39;49;00m\u001b[04m\u001b[31;01ma\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01mh\u001b[39;49;00m\u001b[04m\u001b[31;01m.\u001b[39;49;00m\u001b[04m\u001b[31;01mj\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\r\n",
      "\r\n",
      "{\r\n",
      "    \u001b[34;01m\"kind\"\u001b[39;49;00m: \u001b[33m\"PersistentVolume\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"apiVersion\"\u001b[39;49;00m: \u001b[33m\"v1\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"metadata\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"hostpath-pvc\"\u001b[39;49;00m\r\n",
      "    },\r\n",
      "    \u001b[34;01m\"spec\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"capacity\"\u001b[39;49;00m: {\r\n",
      "            \u001b[34;01m\"storage\"\u001b[39;49;00m: \u001b[33m\"1Gi\"\u001b[39;49;00m\r\n",
      "        },\r\n",
      "        \u001b[34;01m\"hostPath\"\u001b[39;49;00m: {\r\n",
      "            \u001b[34;01m\"path\"\u001b[39;49;00m: \u001b[33m\"/opt/ml\"\u001b[39;49;00m,\r\n",
      "            \u001b[34;01m\"type\"\u001b[39;49;00m: \u001b[33m\"\"\u001b[39;49;00m\r\n",
      "        },\r\n",
      "        \u001b[34;01m\"accessModes\"\u001b[39;49;00m: [\r\n",
      "            \u001b[33m\"ReadWriteOnce\"\u001b[39;49;00m\r\n",
      "        ],\r\n",
      "        \u001b[34;01m\"persistentVolumeReclaimPolicy\"\u001b[39;49;00m: \u001b[33m\"Retain\"\u001b[39;49;00m,\r\n",
      "        \u001b[34;01m\"storageClassName\"\u001b[39;49;00m: \u001b[33m\"manual\"\u001b[39;49;00m\r\n",
      "    }\r\n",
      "}\r\n",
      "\r\n",
      "\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\r\n",
      "\u001b[04m\u001b[31;01m#\u001b[39;49;00m \u001b[04m\u001b[31;01mS\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mu\u001b[39;49;00m\u001b[04m\u001b[31;01mr\u001b[39;49;00m\u001b[04m\u001b[31;01mc\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01m:\u001b[39;49;00m \u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01md\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mv\u001b[39;49;00m\u001b[04m\u001b[31;01mi\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mm\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01ma\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mv\u001b[39;49;00m\u001b[04m\u001b[31;01mi\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01m_\u001b[39;49;00m\u001b[04m\u001b[31;01md\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01my\u001b[39;49;00m\u001b[04m\u001b[31;01mm\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01m.\u001b[39;49;00m\u001b[04m\u001b[31;01mj\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\r\n",
      "{\r\n",
      "    \u001b[34;01m\"apiVersion\"\u001b[39;49;00m: \u001b[33m\"machinelearning.seldon.io/v1alpha2\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"kind\"\u001b[39;49;00m: \u001b[33m\"SeldonDeployment\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"metadata\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"labels\"\u001b[39;49;00m: {\r\n",
      "            \u001b[34;01m\"app\"\u001b[39;49;00m: \u001b[33m\"seldon\"\u001b[39;49;00m\r\n",
      "        },\r\n",
      "        \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"openvino-model\"\u001b[39;49;00m,\r\n",
      "\t\u001b[34;01m\"namespace\"\u001b[39;49;00m: \u001b[33m\"seldon\"\u001b[39;49;00m\t\r\n",
      "    },\r\n",
      "    \u001b[34;01m\"spec\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"openvino\"\u001b[39;49;00m,\r\n",
      "        \u001b[34;01m\"predictors\"\u001b[39;49;00m: [\r\n",
      "            {\r\n",
      "                \u001b[34;01m\"componentSpecs\"\u001b[39;49;00m: [{\r\n",
      "                    \u001b[34;01m\"spec\"\u001b[39;49;00m: {\r\n",
      "                        \u001b[34;01m\"containers\"\u001b[39;49;00m: [\r\n",
      "                            {\r\n",
      "                                \u001b[34;01m\"image\"\u001b[39;49;00m: \u001b[33m\"seldonio/tfserving-proxy:0.1\"\u001b[39;49;00m,\r\n",
      "                                \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"tfserving-proxy\"\u001b[39;49;00m\r\n",
      "                            },\r\n",
      "\t\t\t    {\r\n",
      "                        \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"openvino-model-server\"\u001b[39;49;00m,\r\n",
      "                        \u001b[34;01m\"image\"\u001b[39;49;00m: \u001b[33m\"ie-serving-py:0.1\"\u001b[39;49;00m,\r\n",
      "                        \u001b[34;01m\"command\"\u001b[39;49;00m: [\r\n",
      "                            \u001b[33m\"/ie-serving-py/start_server.sh\"\u001b[39;49;00m\r\n",
      "                        ],\r\n",
      "                        \u001b[34;01m\"args\"\u001b[39;49;00m: [\r\n",
      "                            \u001b[33m\"ie_serving\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"model\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"--model_path\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"/opt/ml/squeezenet\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"--model_name\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"squeezenet1.1\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"--port\"\u001b[39;49;00m,\r\n",
      "                            \u001b[33m\"8000\"\u001b[39;49;00m\r\n",
      "                        ],\r\n",
      "                        \u001b[34;01m\"ports\"\u001b[39;49;00m: [\r\n",
      "                            {\r\n",
      "                                \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"grpc\"\u001b[39;49;00m,\r\n",
      "                                \u001b[34;01m\"containerPort\"\u001b[39;49;00m: \u001b[34m8000\u001b[39;49;00m,\r\n",
      "                                \u001b[34;01m\"protocol\"\u001b[39;49;00m: \u001b[33m\"TCP\"\u001b[39;49;00m\r\n",
      "                            }\r\n",
      "                        ],\r\n",
      "                        \u001b[34;01m\"env\"\u001b[39;49;00m: [\r\n",
      "                            {\r\n",
      "                                \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"LOG_LEVEL\"\u001b[39;49;00m,\r\n",
      "                                \u001b[34;01m\"value\"\u001b[39;49;00m: \u001b[33m\"DEBUG\"\u001b[39;49;00m\r\n",
      "                            }\r\n",
      "                        ],\r\n",
      "                        \u001b[34;01m\"resources\"\u001b[39;49;00m: {},\r\n",
      "                        \u001b[34;01m\"volumeMounts\"\u001b[39;49;00m: [\r\n",
      "                            {\r\n",
      "                                \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"modelstore\"\u001b[39;49;00m,\r\n",
      "                                \u001b[34;01m\"mountPath\"\u001b[39;49;00m: \u001b[33m\"/opt/ml\"\u001b[39;49;00m\r\n",
      "                            }\r\n",
      "                        ]\r\n",
      "\t\t\t    }\r\n",
      "\t\t\t],\r\n",
      "\t\t\t\u001b[34;01m\"terminationGracePeriodSeconds\"\u001b[39;49;00m: \u001b[34m1\u001b[39;49;00m,\r\n",
      "\t\t\t\u001b[34;01m\"volumes\"\u001b[39;49;00m: [\r\n",
      "\t\t\t    {\r\n",
      "\t\t\t\t\u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"modelstore\"\u001b[39;49;00m,\r\n",
      "\t\t\t\t\u001b[34;01m\"volumeSource\"\u001b[39;49;00m: {\r\n",
      "\t\t\t\t    \u001b[34;01m\"persistentVolumeClaim\"\u001b[39;49;00m: {\r\n",
      "\t\t\t\t\t\u001b[34;01m\"claimName\"\u001b[39;49;00m: \u001b[33m\"model-store-pvc\"\u001b[39;49;00m\r\n",
      "\t\t\t\t    }\r\n",
      "\t\t\t\t}\r\n",
      "\t\t\t    }\r\n",
      "\t\t\t]\r\n",
      "\t\t    }\r\n",
      "\t\t}],\r\n",
      "                \u001b[34;01m\"graph\"\u001b[39;49;00m: {\r\n",
      "\t\t    \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"tfserving-proxy\"\u001b[39;49;00m,\r\n",
      "\t\t    \u001b[34;01m\"endpoint\"\u001b[39;49;00m: { \u001b[34;01m\"type\"\u001b[39;49;00m : \u001b[33m\"REST\"\u001b[39;49;00m },\r\n",
      "\t\t    \u001b[34;01m\"type\"\u001b[39;49;00m: \u001b[33m\"MODEL\"\u001b[39;49;00m,\r\n",
      "\t\t    \u001b[34;01m\"children\"\u001b[39;49;00m: [],\r\n",
      "\t\t    \u001b[34;01m\"parameters\"\u001b[39;49;00m:\r\n",
      "\t\t    [\r\n",
      "\t\t\t{\r\n",
      "\t\t\t    \u001b[34;01m\"name\"\u001b[39;49;00m:\u001b[33m\"grpc_endpoint\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"type\"\u001b[39;49;00m:\u001b[33m\"STRING\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"value\"\u001b[39;49;00m:\u001b[33m\"localhost:8000\"\u001b[39;49;00m\r\n",
      "\t\t\t},\r\n",
      "\t\t\t{\r\n",
      "\t\t\t    \u001b[34;01m\"name\"\u001b[39;49;00m:\u001b[33m\"model_name\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"type\"\u001b[39;49;00m:\u001b[33m\"STRING\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"value\"\u001b[39;49;00m:\u001b[33m\"squeezenet1.1\"\u001b[39;49;00m\r\n",
      "\t\t\t},\r\n",
      "\t\t\t{\r\n",
      "\t\t\t    \u001b[34;01m\"name\"\u001b[39;49;00m:\u001b[33m\"model_output\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"type\"\u001b[39;49;00m:\u001b[33m\"STRING\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"value\"\u001b[39;49;00m:\u001b[33m\"prob\"\u001b[39;49;00m\r\n",
      "\t\t\t},\r\n",
      "\t\t\t{\r\n",
      "\t\t\t    \u001b[34;01m\"name\"\u001b[39;49;00m:\u001b[33m\"model_input\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"type\"\u001b[39;49;00m:\u001b[33m\"STRING\"\u001b[39;49;00m,\r\n",
      "\t\t\t    \u001b[34;01m\"value\"\u001b[39;49;00m:\u001b[33m\"data\"\u001b[39;49;00m\r\n",
      "\t\t\t}\r\n",
      "\t\t    ]\r\n",
      "\t\t},\r\n",
      "                \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"openvino\"\u001b[39;49;00m,\r\n",
      "                \u001b[34;01m\"replicas\"\u001b[39;49;00m: \u001b[34m1\u001b[39;49;00m\r\n",
      "            }\r\n",
      "        ]\r\n",
      "    }\r\n",
      "}\r\n",
      "\r\n",
      "\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\r\n",
      "\u001b[04m\u001b[31;01m#\u001b[39;49;00m \u001b[04m\u001b[31;01mS\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mu\u001b[39;49;00m\u001b[04m\u001b[31;01mr\u001b[39;49;00m\u001b[04m\u001b[31;01mc\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01m:\u001b[39;49;00m \u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01md\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01m-\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mv\u001b[39;49;00m\u001b[04m\u001b[31;01mi\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01mm\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01ml\u001b[39;49;00m\u001b[04m\u001b[31;01ma\u001b[39;49;00m\u001b[04m\u001b[31;01mt\u001b[39;49;00m\u001b[04m\u001b[31;01me\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01m/\u001b[39;49;00m\u001b[04m\u001b[31;01mp\u001b[39;49;00m\u001b[04m\u001b[31;01mv\u001b[39;49;00m\u001b[04m\u001b[31;01mc\u001b[39;49;00m\u001b[04m\u001b[31;01m.\u001b[39;49;00m\u001b[04m\u001b[31;01mj\u001b[39;49;00m\u001b[04m\u001b[31;01ms\u001b[39;49;00m\u001b[04m\u001b[31;01mo\u001b[39;49;00m\u001b[04m\u001b[31;01mn\u001b[39;49;00m\r\n",
      "{\r\n",
      "    \u001b[34;01m\"kind\"\u001b[39;49;00m: \u001b[33m\"PersistentVolumeClaim\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"apiVersion\"\u001b[39;49;00m: \u001b[33m\"v1\"\u001b[39;49;00m,\r\n",
      "    \u001b[34;01m\"metadata\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"name\"\u001b[39;49;00m: \u001b[33m\"model-store-pvc\"\u001b[39;49;00m\r\n",
      "    },\r\n",
      "    \u001b[34;01m\"spec\"\u001b[39;49;00m: {\r\n",
      "        \u001b[34;01m\"accessModes\"\u001b[39;49;00m: [\r\n",
      "            \u001b[33m\"ReadWriteOnce\"\u001b[39;49;00m\r\n",
      "        ],\r\n",
      "        \u001b[34;01m\"resources\"\u001b[39;49;00m: {\r\n",
      "            \u001b[34;01m\"requests\"\u001b[39;49;00m: {\r\n",
      "                \u001b[34;01m\"storage\"\u001b[39;49;00m: \u001b[33m\"1Gi\"\u001b[39;49;00m\r\n",
      "            }\r\n",
      "        },\r\n",
      "        \u001b[34;01m\"storageClassName\"\u001b[39;49;00m: \u001b[33m\"manual\"\u001b[39;49;00m\r\n",
      "    }\r\n",
      "}\r\n"
     ]
    }
   ],
   "source": [
    "!helm template ../../../helm-charts/seldon-openvino --name=openvino-squeezenet \\\n",
    "    --set openvino.model.path=/opt/ml/squeezenet \\\n",
    "    --set openvino.model.name=squeezenet1.1 \\\n",
    "    --set openvino.model.input=data \\\n",
    "    --set openvino.model.output=prob | pygmentize -l json"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Serve Requests\n",
    "\n",
    "**Ensure you port forward ambassador:**\n",
    "\n",
    "```\n",
    "kubectl port-forward $(kubectl get pods -n seldon -l service=ambassador -o jsonpath='{.items[0].metadata.name}') -n seldon 8003:8080\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 3, 227, 227)\n",
      "\t 0 sports car, sport car\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0f852a5be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "from keras.applications.imagenet_utils import preprocess_input, decode_predictions\n",
    "from keras.preprocessing import image\n",
    "import sys\n",
    "import json\n",
    "import matplotlib.pyplot as plt\n",
    "sys.path.append(\"../../../notebooks\")\n",
    "from seldon_utils import *\n",
    "API_AMBASSADOR=\"localhost:8003\"\n",
    "\n",
    "def getImage(path):\n",
    "    img = image.load_img(path, target_size=(227, 227))\n",
    "    x = image.img_to_array(img)\n",
    "    plt.imshow(x/255.)\n",
    "    x = np.expand_dims(x, axis=0)\n",
    "    x = preprocess_input(x)\n",
    "    return x\n",
    "\n",
    "X = getImage(\"car.png\")\n",
    "X = X.transpose((0,3,1,2))\n",
    "print(X.shape)\n",
    "response = rest_request_ambassador(\"openvino-model\",API_AMBASSADOR,data=X)\n",
    "\n",
    "if response.status_code == 200:\n",
    "    result = response.json()[\"data\"][\"tensor\"][\"values\"]\n",
    "    result = np.array(result)\n",
    "    result = result.reshape(1,1000)\n",
    "\n",
    "    with open('imagenet_classes.json') as f:\n",
    "        cnames = eval(f.read())\n",
    "\n",
    "        for i in range(result.shape[0]):\n",
    "            single_result = result[[i],...]\n",
    "            ma = np.argmax(single_result)\n",
    "            print(\"\\t\",i, cnames[ma])\n",
    "else:\n",
    "    print(\"Request failed \",response)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
